#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
typedef long long ll;
int dp[1005][9005];
const int MOD=1e9+7;
using namespace std;
int main() {
    int n;
    cin>>n;
    int m=9*n+1;
    n=n+1;
    int tmp;
    memset(dp, 0, sizeof(dp));
    dp[0][0]=1;
    for (int i=1; i<n; i++) {
        for (int j=0; j<m; j++) {
            tmp=0;
            for (int k=0; k<10; k++) {
                if(k<=j) tmp=(tmp+dp[i-1][j-k])%MOD;
            }
            dp[i][j]=tmp%MOD;
        }
    }
/*    for (int i=0; i<n; i++) {
        for (int j=0; j<m; j++)
            cout<<dp[i][j]<<' ';
        cout<<endl;
    }*/
    int tmp2;
    n--;
    if (n==1) tmp2=0;
    else tmp2=(int)pow(10,n-1)%MOD;
    ll res=0;
    for (int i=1; i<m; i++) {
        tmp=dp[n][i];
        tmp2=dp[n-1][i];
        res=(res+tmp*(tmp-tmp2)%MOD)%MOD;
    }
    cout<<res<<endl;
    return 0;
}
